#include "Component.h"
#include "Singleton.h"
#include "TComponentAllocator.h"
#include "zRuntimeClass.h"

class StateMachineComponent
    : public Component
    , public giant::RuntimeClass<StateMachineComponent>
{
public:
    enum {SortKey = 125};
public:
    void onstart() override;
    void onremove() override;
    void frameupdate() override;
public:
    void onintoscene(void* param);
    void onleavescene(void* param);
};

DECLARE_COMPONENT(StateMachineComponent)